// pages/search/search.js
Page({
  //搜索框
  search: function (params) {
    const value = params.detail
    if (!value) {
      this.setData({
        searchResults: []
      })
    } else {
      //获取历史搜索记录
      const history = this.saveSearchHistory(value)
      //防抖处理
      clearTimeout(this.data.timer)
      this.data.timer = setTimeout(() => {
        this.setData({
          historyList: history
        })
        this.data.kw = params.detail
        //获取搜索列表
        this.getSearchList()
        console.log(params.detail);
        // 更新历史记录（逆序）
        this.updateSearchHistory()
      }, 500);
    }
  },
  //获取数据
  getSearchList(event) {
    //判断关键词是否为空
    if (this.data.kw.length === 0) {
      this.data.searchResults = []
      return
    }
    const url = `https://api-hmugo-web.itheima.net/api/public/v1/goods/qsearch?query=${this.data.kw}`
    var that = this
    wx.request({
      url: url,
      method: 'GET',
      success(res) {               // 请求成功的回调函数
        console.log(res);          // res 包含响应数据
        that.setData({
          searchResults: res.data.message,
        })
      },
      fail(err) {                  // 请求失败的回调函数
        console.log(err);          // 错误信息
      },
      complete() {                 // 请求完成的回调函数，无论成功或失败都会执行
        console.log('请求完成');
      }
    })
  },
  //跳转详情页
  gotoDetail(event) {
    const item = event.currentTarget.dataset.item;
    console.log(item.goods_id);
    wx.navigateTo({
      url: `/pages/goodlist/goodlist?goods_id=${item.goods_id}`,
    })
  },
  //保存历史记录
  saveSearchHistory(query) {
    let history = this.data.historyList || [];
    //避免提交重复数据
    if (!history.includes(query)) {
      //或者 const set = new Set(this.data.historyList)
      //set集合的值都是唯一的
      history.push(query)
      //永久化存储
      wx.setStorageSync('ke', JSON.stringify(history))
    }

    return history;
  },
  updateSearchHistory(params) {
    this.setData({
      historyList: [...this.data.historyList].reverse()
    })
  },
  clean() {
    this.data.historyList = []
    wx.setStorageSync('ke', '[]')
  },
  gotoGoodsList(event) {
    const item = event.currentTarget.dataset.item;
    console.log(item);
    wx.navigateTo({
      url: `/pages/goodlist/goodlist?query=${item}`,
    })
  },
  /**
   * 页面的初始数据
   */
  data: {
    value: '',
    timer: null,
    kw: '',
    //搜索结果列表
    searchResults: [],
    historyList: ['aaa', 'bbb']
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.data.historyList = JSON.parse(wx.getStorageSync('ke'))
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.updateSearchHistory()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})